﻿using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public enum EOS_VERSION : byte
{
	EOS_VER_INVAILD,
	EOS_VER_EDITOR,
	EOS_VER_ANDROID,
	EOS_VER_IOS,
}

/// <summary>
/// 전송할 패킷 구조 정의(Structure)
/// </summary>
/// 
public struct PT_C2S_GET_SERVERTIME
{
	public string MsgID;

	public void Reset()
	{
		MsgID = "/time/now"; 
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
	}
}

public struct PT_C2S_CHEAT_COMMON_MSG
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_CHEAT_ADD_REWARD_MSG
{
	public string MsgID;
	public int id;
	public int amount;
	
	public void Reset()
	{
		MsgID = "/cheat/addRewardMsg"; 
		id = 10001;
		amount = 1;
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.AddField("id", id);
		msg.AddField("amount", amount);
		
		msg.MsgID = MsgID;
	}
}

public struct PT_C2S_CHEAT_RESOURCE
{
	public string MsgID;
	public int amount;

	public void Reset()
	{
		MsgID = "";
		amount = 0;
	}

	public void PushData(ref NetMsg msg)
	{
		msg.AddField("amount", amount);

		msg.MsgID = MsgID;
	}
}

public struct PT_C2S_CHEAT_BOSS
{
    public string MsgID;
    public int regionId;

    public void Reset()
    {
        MsgID = "";
        regionId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("regionId", regionId);

        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_BUY_STORE_ITEM
{
    public string MsgID;
    public int goodId;
    public int useSale;

    public void Reset()
    {
        MsgID = "/shop/buy";
        goodId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("goodsid", goodId);
        msg.AddField("useSale", useSale);

        msg.MsgID = MsgID;
    }
}
public struct PT_C2S_GET_QUEST_INFO
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/quest/get";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}


public struct PT_C2S_GET_QUEST_REWARD
{
    public string MsgID;
    public int questId;

    public void Reset()
    {
        MsgID = "/quest/rew";
        questId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", questId);

        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_START_QUEST
{
    public string MsgID;
    public int questId;

    public void Reset()
    {
        MsgID = "/quest/conf";
        questId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", questId);

        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_GET_ACHIEVEMENT_LIST
{
    public string MsgID;
    public int type;

    public void Reset()
    {
        MsgID = "/achi/list";
        type = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("type", type);

        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_GET_ACHIEVEMENT_REWARD
{
    public string MsgID;
    public int id;

    public void Reset()
    {
        MsgID = "/achi/rew";
        id = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", id);

        msg.MsgID = MsgID;
    }
}

/////==========================유저 관련 패킷 정의
/////======================================
/////======================================
/// 유저 가입 패킷 구조체
public struct PT_C2S_USER_JOIN
{
    public string MsgID;
    public AuthPlatformID authPlatform;
    public string account;
    public string authToken;
    public string name;

    public void Reset()
    {
        MsgID = "/join";
        account = "";
        name = "";
    }

    public void PushData( ref NetMsg msg )
    {
        msg.AddField("type", (int)authPlatform);
        msg.AddField("account", account);
        msg.AddField("token", authToken);
        msg.AddField("name", name);

        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_GSTAR_USER_JOIN
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/gstar/join";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_GSTAR_ADD_RAIDBOSS
{
    public string MsgID;
    public int regionId;

    public void Reset()
    {
        MsgID = "/gstar/addBoss";
        regionId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
        msg.AddField("id", regionId);
    }
}

public struct PT_C2S_GSTAR_START_RAIDBOSS_BATTLE
{
    public string MsgID;
    public int regionId;

    public void Reset()
    {
        MsgID = "/gstar/extSta";
        regionId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
        msg.AddField("id", regionId);
    }
}

public struct PT_C2S_GSTAR_END_RAIDBOSS_BATTTLE
{
    public string MsgID;
    public int regionId;
    public int decHP;
    public int res;

    public void Reset()
    {
        MsgID = "/gstar/extEnd";
        regionId = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
        msg.AddField("id", regionId);
        msg.AddField("dechp", decHP);
        msg.AddField("res", res);
    }
}

/*
public struct PT_C2S_USER_JOIN
{
    public string MsgID;
    public AuthPlatformID authPlatform;
    public string account;
    public string authToken;
    public string name;
    public int GuildType;
    public string GuildLeaderName;

    public void Reset()
    {
        MsgID = "/user/join";
        account = "";
        name = "";
        GuildType = 0;
        GuildLeaderName = "";
    }

    public void PushData( ref NetMsg msg )
    {
        msg.AddField("type", (int)authPlatform);
        msg.AddField("account", account);
        msg.AddField("token", authToken);
        msg.AddField("name", name);
        msg.AddField("st", GuildType);
        msg.AddField("gname", GuildLeaderName);

        msg.MsgID = MsgID;
    }
}
*/

/// 유저 로그인 패킷 구조체
public struct PT_C2S_LOGIN
{
    public string MsgID;
    public AuthPlatformID authPlatform;
    public string account;
    public string authToken;

    public void Reset()
    {
        MsgID = "/login";
        authPlatform = 0;
        account = string.Empty;
        authToken = string.Empty;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("type", (int)authPlatform);
        msg.AddField("account", account);
        msg.AddField("token", authToken);
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_LOGOUT
{
	public string MsgID;

	public void Reset()
	{
		MsgID = "/logout";
	}

	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
	}
}

public struct PT_C2S_LEGION_GET
{
    string MsgID;
    public void Reset()
    {
        MsgID = "/legion/get";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_LEGION_FRIEND_GET
{
	public string MsgID;
	public long id;
	public void Reset()
	{
		MsgID = "/legion/get";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.AddField("id", id);

		msg.MsgID = MsgID;
	}
}

/////========================== 임무 관련 
/////======================================
/////======================================
/// <summary>
/// 임무 시작 패킷 구조체
/// </summary>
public struct PT_C2S_MISSION_START
{
    public string MsgID;
    public int mid;
    public int id;
    public int[] gids;
    public void Reset()
    {
        MsgID = "/mission/start";
        mid = 0;
        id = 0;
        gids = null;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mid", mid);
        msg.AddField("id", id);
        msg.AddField("gids", gids);

        msg.MsgID = MsgID;
    }
}
/// <summary>
/// 임무 끝 패킷 구조체
/// </summary>
public struct PT_C2S_MISSION_END
{
    public string MsgID;
    public int mid;
    public int id;
    public int p;
	public bool s;
    public void Reset()
    {
        MsgID = "/mission/end";

        mid = 0;
        id = 0;
        p = 0;
		s = false;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mid", mid);
        msg.AddField("id", id);
        msg.AddField("p", p);
		msg.AddField("s", s);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 던전 임무 시작 패킷
/// </summary>
public struct PT_C2S_MISSION_DUN_START
{
    public string MsgID;
    public int id;
    public int n;
    public int[] gids;
    public void Reset()
    {
        MsgID = "/mission/dunstart";
        id = 0;
        n = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", id);
        msg.AddField("n", n);
        msg.AddField("gids", gids);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 던전 임무 끝 패킷
/// </summary>
public struct PT_C2S_MISSION_DUN_END
{
    public string MsgID;
    public int id;
    public int n;
    public int p;
    public bool s;
    public void Reset()
    {
        MsgID = "/mission/dunend";
        id = 0;
        n = 0;
        p = 0;
        s = false;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", id);
        msg.AddField("n", n);
        msg.AddField("p", p);
        msg.AddField("s", s);

        msg.MsgID = MsgID;
    }
}

/////========================== 아이템 관련
/////======================================
/////======================================
/// <summary>
/// 아이템 리스트 패킷
/// </summary>
public struct PT_C2S_ITEM_LIST
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/item/list";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 아이템 선물
/// </summary>
public struct PT_C2S_ITEM_PRES
{
    public string MsgID;
    public int mid;
    public int gid;

    public void Reset()
    {
        MsgID = "/item/pres";

        mid = 0;
        gid = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mid", mid);
        msg.AddField("gid", gid);

        msg.MsgID = MsgID;
    }

}

/// <summary>
/// 아이템 버프
/// </summary>
public struct PT_C2S_ITEM_BUFF
{
    public string MsgID;
    public int mid;
    public int gid;

    public void Reset()
    {
        MsgID = "/item/buff";

        mid = 0;
        gid = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mid", mid);
        msg.AddField("gid", gid);

        msg.MsgID = MsgID;
    }

}


/// <summary>
/// 아이템 스킬
/// </summary>
public struct PT_C2S_ITEM_SKILL
{
    public string MsgID;
    public int mid;
    public int gid;

    public void Reset()
    {
        MsgID = "/item/skill";

        mid = 0;
        gid = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mid", mid);
        msg.AddField("gid", gid);

        msg.MsgID = MsgID;
    }

}


/// <summary>
/// 아이템 기호
/// </summary>
public struct PT_C2S_ITEM_SYMBOL
{
    public string MsgID;
    public int mid;
    public int gid;

    public void Reset()
    {
        MsgID = "/item/symbol";

        mid = 0;
        gid = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mid", mid);
        msg.AddField("gid", gid);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 아이템 사용
/// </summary>
public struct PT_C2S_ITEM_WEAR
{
    public string MsgID;
    public int itemSid;
    public int memberNo;
 

    public void Reset()
    {
        MsgID = "/item/wear";

        itemSid = 0;
        memberNo = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mno", memberNo);
        msg.AddField("sid", itemSid);      

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 아이템 판매
/// </summary>
public struct PT_C2S_ITEM_SELL
{
    public string MsgID;   
    public int[] itemIndex;
    
    public void Reset()
    {
        MsgID = "/item/sell";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("sids", itemIndex);
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 아이템 판매
/// </summary>
public struct PT_C2S_ITEM_STRE
{
    public string MsgID;
    public int itemIndex;
    public int memberNum;

    public void Reset()
    {
        MsgID = "/item/stre";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("sid", itemIndex);
        msg.AddField("mNo", memberNum);
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 아이템 장착
/// </summary>
public struct PT_C2S_ITEM_ATTACH
{
    public string MsgID;
    public int gid;
    public int[] itemids;

    public void Reset()
    {
        MsgID = "/item/attach";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("gid", gid);
        msg.AddField("itemids", itemids);

        msg.MsgID = MsgID;
    }
}

#region 케릭터 관련

/// <summary>
/// 케릭터 강화
/// </summary>
public struct PT_C2S_MEMBER_STRENG
{
    public string MsgID;
    public int cardNo;
    public int materialNo;

    public void Reset()
    {
        MsgID = "/member/streng";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNo", cardNo);
        msg.AddField("materNo", materialNo);
        msg.MsgID = MsgID;
    }
}


/// <summary>
/// 케릭터 전투원 4명 리스트
/// </summary>
public struct PT_C2S_MEMBER_CHOOSE
{
    public string MsgID;
    public int[] Nos;

    public void Reset()
    {
        MsgID = "/member/choose";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNos", Nos);
        msg.MsgID = MsgID;
    }
}


/// <summary>
/// 케릭터 전투원 4명 선택
/// </summary>
public struct PT_C2S_MEMBER_CHOICELIST
{
    public string MsgID;
    public int cardNo;
    public int materialNo;

    public void Reset()
    {
        MsgID = "/member/choiceList";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 케릭터 특성포인트 사용
/// </summary>
public struct PT_C2S_MEMBER_IncTrait
{
    public string MsgID;
    public int no;
    public int traitID;
    public int value;

    public void Reset()
    {
        MsgID = "/member/incTrait";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNo", no);
        msg.AddField("id", traitID);
        msg.AddField("value", value);
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 케릭터 특성포인트 초기화
/// </summary>
public struct PT_C2S_MEMBER_InitTrait
{
    public string MsgID;
    public int no;
   
    public void Reset()
    {
        MsgID = "/member/initTrait";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNo", no);        
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 케릭터 해고
/// </summary>
public struct PT_C2S_MEMBER_Disch
{
    public string MsgID;
    public int no;  

    public void Reset()
    {
        MsgID = "/member/disch";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNo", no);
        msg.MsgID = MsgID;
    }
}

#endregion


/////========================== 길드원 관련
/////======================================
/////======================================

/// <summary>
/// 길드원 추가
/// </summary>
public struct PT_C2S_GUILD_ADD
{
    public string MsgID;
    public int id;

    public void Reset()
    {
        MsgID = "/guild/add";

        id = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", id);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 길드원 방어군 설정
/// </summary>
public struct PT_C2S_GUILD_DEFENSE
{
    public string MsgID;
    public int[] gnos;

    public void Reset()
    {
        MsgID = "/guild/defense";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("gnos", gnos);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 길드원 리스트(골드)
/// </summary>
public struct PT_C2S_GUILD_EMPLIST
{
    public string MsgID;
    public bool c;

    public void Reset()
    {
        MsgID = "/station/empList";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("c", c);
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 길드원 고용(골드)
/// </summary>
public struct PT_C2S_GUILD_EMPLOY
{
    public string MsgID;
    public int no;

    public void Reset()
    {
        MsgID = "/station/employ";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNo", no);
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 길드원 등용 철회
/// </summary>
public struct PT_C2S_GUILD_DISCH
{
    public string MsgID;
    public int no;

    public void Reset()
    {
        MsgID = "/station/disch";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("mNo", no);
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 길드원 경매 현재 최고가
/// </summary>
public struct PT_C2S_GUILD_AUCTIONINFO
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/guild/auctionInfo";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 길드원 경매 입찰하기
/// </summary>
public struct PT_C2S_GUILD_TENDER
{
    public string MsgID;
    public int id;
    public int p;

    public void Reset()
    {
        MsgID = "/guild/tender";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("id", id);
        msg.AddField("p", p);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 방랑 길드원 정보요청
/// </summary>
public struct PT_C2S_GUILD_MASTERY
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/guild/mastery";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 방랑길드원 고용
/// </summary>
public struct PT_C2S_GUILD_APPOINTMENT
{
    public string MsgID;
    public bool Is;

    public void Reset()
    {
        MsgID = "/guild/appointment";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("is", Is);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// PVP 리스트 검색 패킷
/// </summary>
public struct PT_C2S_PVP_LIST
{
    public string MsgID;
    public int rid;

    public void Reset()
    {
        MsgID = "/pvp/list";
        rid = 0;
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("rid", rid);
        msg.MsgID = MsgID;
    }
}


/// <summary>
/// PVP 시작 패킷
/// </summary>
public struct PT_C2S_PVP_START
{
    public string MsgID;
    public int uid;
    public int rid;
    public int[] gids;

    public void Reset()
    {
        MsgID = "/pvp/start";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("uid", uid);
        msg.AddField("rid", rid);
        msg.AddField("gids", gids);

        msg.MsgID = MsgID;
    }
}


/// <summary>
/// PVP 끝 패킷
/// </summary>
public struct PT_C2S_PVP_END
{
    public string MsgID;
    public bool p;
    public void Reset()
    {
        MsgID = "/pvp/end";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("p", p);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 정책 투표 시작
/// </summary>
public struct PT_C2S_POLICY_START
{
    public string MsgID;
    public bool c;
    public int pno;
    public void Reset()
    {
        c = false;
        pno = 0;
        MsgID = "/policy/start";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("pno", pno);
        msg.AddField("c", c);
        
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 매수
/// </summary>
public struct PT_C2S_POLICY_CORRUPT
{
    public string MsgID;
    public int gno;
    public void Reset()
    {
        gno = 0;
        MsgID = "/policy/corrupt";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("gno", gno);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 협박
/// </summary>
public struct PT_C2S_POLICY_MENACE
{
    public string MsgID;
    public int gno;
    public void Reset()
    {
        gno = 0;
        MsgID = "/policy/menace";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("gno", gno);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 투표하기
/// </summary>
public struct PT_C2S_POLICY_VOTE
{
    public string MsgID;
    public byte pno;
    public void Reset()
    {
        pno = 0;
        MsgID = "/policy/vote";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("pno", pno);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 정책 철회
/// </summary>
public struct PT_C2S_POLICY_REPEAL
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/policy/repeal";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 새잡기 이벤트
/// </summary>
public struct PT_C2S_EVENT_CATCH
{
    public string MsgID;
    public int r;
    public void Reset()
    {
        r = 0;
        MsgID = "/event/catch";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("r", r);

        msg.MsgID = MsgID;
    }
}

/// <summary>
/// 캐쉬 사용
/// </summary>
public struct PT_C2S_CASH_USE
{
    public string MsgID;
    public byte type;
    public int amount;

    public void Reset()
    {
        type = 0;
        amount = 0;
        MsgID = "/cash/use";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("type", type);
        msg.AddField("amount", amount);

        msg.MsgID = MsgID;
    }
}


/// <summary>
/// 캐쉬 구매
/// </summary>
public struct PT_C2S_CASH_BUY
{
    public string MsgID;
    public int cash;
    public byte store;
    public string receipt;
    public bool e;

    public void Reset()
    {
        cash = 0;
        store = 0;
        receipt = "";
        e = false;
        MsgID = "/cash/buy";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.AddField("cash", cash);
        msg.AddField("store", store);
        msg.AddField("receipt", receipt);
        msg.AddField("e", e);

        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_QUEST_LIST
{
	public string MsgID;

	public void Reset()
	{
		MsgID = "/quest/list";
	}

	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
	}
}

public struct PT_C2S_QUEST_COMPLETE
{
	public string MsgID;
	public int[] ids;

	public void Reset()
	{
		MsgID = "/quest/comp";
	}

	public void PushData(ref NetMsg msg)
	{
		msg.AddField("ids", ids);

		msg.MsgID = MsgID;
	}
}

public struct PT_C2S_QUEST_WEEK
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/quest/week";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_QUICK_PVP
{
    public string MsgID;
	public int[] mnos;

    public void Reset()
    {
        MsgID = "/quick/start";
    }

    public void PushData(ref NetMsg msg)
    {
		msg.AddField("mno", mnos);
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_QUICK_PVP_RESULT
{
	public string MsgID;
	public int res;
	
	public void Reset()
	{
		MsgID = "/quick/end";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("res", res);
	}
}

public struct PT_C2S_SITE_INCR
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/site/incr";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}



public struct PT_C2S_USER_SITE
{
    public string MsgID;

    public void Reset()
    {
        MsgID = "/user/site";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
    }
}

public struct PT_C2S_SEND_RESEARCH
{
	public string MsgID;
	public int regionID;
	public int[] memberIds;
	public long[] friendInfo;
	
	public void Reset()
	{
		MsgID = "/region/inves";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		msg.AddField("mno", memberIds);
		msg.AddField("fri", friendInfo);
	}
}

public struct PT_C2S_SEND_RESEARCH_RESULT
{
	public string MsgID;
	public int regionID;
	public int battleResult;
	public int[] seqNo;
	public int[] seqType;
	
	public void Reset()
	{
		MsgID = "/region/res";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		msg.AddField("res", battleResult);
		msg.AddField("seqno", seqNo);
		msg.AddField("seqtype", seqType);
	}
}

public struct PT_C2S_SEND_EXPANSION
{
	public string MsgID;
	public int regionID;
	public int step;
	public int[] memberIds;
	public long[] friendInfo;
	
	public void Reset()
	{
		MsgID = "/extend/start";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		msg.AddField("step", step);
		msg.AddField("mno", memberIds);
		msg.AddField("fri", friendInfo);
	}
}

public struct PT_C2S_SEND_EXPANSION_RESULT
{
	public string MsgID;
	public int regionID;
	public int step;
	public int battleResult;
	
	public void Reset()
	{
		MsgID = "/extend/end";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		msg.AddField("step", step);
		msg.AddField("res", battleResult);
	}
}

public struct PT_C2S_GET_DISPATCH_INFO
{
	public string MsgID;
	public int regionID;
	public int[] memberIds;
	
	public void Reset()
	{
		MsgID = "/disp/getDisp";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		msg.AddField("mno", memberIds);
	}
}

public struct PT_C2S_SEND_DISPATCH
{
	public string MsgID;
	public int regionID;
	public int[] memberIds;
	
	public void Reset()
	{
		MsgID = "/disp/startDisp";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		msg.AddField("mno", memberIds);
	}
}

public struct PT_C2S_COMPLETE_DISPATCH
{
	public string MsgID;
	public int regionID;
	
	public void Reset()
	{
		MsgID = "/disp/compDisp";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);

	}
}

public struct PT_C2S_CANCEL_DISPATCH
{
	public string MsgID;
	public int regionID;
	
	public void Reset()
	{
		MsgID = "/disp/cancelDisp";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("id", regionID);
		
	}
}

public struct PT_C2S_Apply_20BattleFormation
{
    public string MsgID;
    
    public int[] Formation;

    public void Reset()
    {
        MsgID = "/btlarray/setMA";
    }

    public void PushData(ref NetMsg msg)
    {
        msg.MsgID = MsgID;
        msg.AddField("mems", Formation);      
    }
}

public struct PT_C2S_ALRAMCOUNT_CLEAR
{
	public string MsgID;
	
	public int ts;
	
	public void Reset()
	{
		MsgID = "/alramCount/clear";
	}
	
	public void PushData(ref NetMsg msg)
	{
		msg.MsgID = MsgID;
		msg.AddField("ts", ts);
	}
}